/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Esquemas;

import java.util.LinkedList;

/**
 * Clase que representa un Tipo de Datos
 * @author Carmen M. Morillo Arias, Christian Neria Suárez, Diego Ojeda García
 */
public class TipodeDato {
    String nombre;
    LinkedList<Atributo> atributos;

    /**
     * Constructor de la clase
     * @param nombre Nombre del tipo de datos
     */
    public TipodeDato(String nombre) {
        this.nombre = nombre;
        atributos = new LinkedList<Atributo>();
    }

    /**
     * Método que obtiene el nombre de un tipo de datos
     * @return Nombre del tipo de datos
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * Método que establece el nombre de un tipo de datos
     * @param nombre nombre del tipo de dato
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * Método que añade un atributo a la lista del tipo de datos
     * @param atributo Atributo que se quiere añadir
     */
    public void anadirAtributo(Atributo atributo){
        atributos.add(atributo);
    }

    /**
     * Método que obtiene la lista de atributos de un tipo de datos
     * @return Lista de Atributos del tipo de datos
     */
    public LinkedList<Atributo> getAtributos() {
        return atributos;
    }
            
}
